﻿using IMES.Common.Dtos;
using MediatR;
using System.ComponentModel.DataAnnotations;

namespace Durian.API.Application.Commands.Mission
{
    public class MissionUpdateCommand : IRequest<Result>
    {
        /// <summary>
        /// 任务Id
        /// </summary>
        [Key]
        public int TasksId { get; set; }
        /// <summary>
        /// 工序名称
        /// </summary>
        public string? ProcessName { get; set; }
        /// <summary>
        /// 工序编号
        /// </summary>
        public int ProcessNumber { get; set; }
        /// <summary>
        /// 报工权限
        /// </summary>
        public int ReportingAuthority { get; set; }
        /// <summary>
        /// 报工数配比
        /// </summary>
        public int Matching { get; set; }
        /// <summary>
        /// 计划数
        /// </summary>
        public int PlannedNumber { get; set; }
        /// <summary>
        /// 良品数
        /// </summary>
        public int GoodScore { get; set; }
        /// <summary>
        /// 不良品数
        /// </summary>
        public int DefectiveQuantity { get; set; }
        /// <summary>
        /// 实际开始时间
        /// </summary>
        public DateTime ActualStartTime { get; set; }
        /// <summary>
        /// 实际结束时间
        /// </summary>
        public DateTime ActualEndTime { get; set; }
        /// <summary>
        /// 计划开始时间
        /// </summary>
        public DateTime PlanneStartTime { get; set; }
        /// <summary>
        /// 计划结束时间
        /// </summary>
        public DateTime PlanneEndTime { get; set; }
        /// <summary>
        /// 不良品项列表
        /// </summary>
        public string? AdverseList { get; set; }
        /// <summary>
        /// 工单编号
        /// </summary>
        public string? WorkSheetNumber { get; set; }
    }
}
